package com.mf.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mf.entity.bo.TaskBo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mf.entity.req.publicReq.PublicUpdateStatusReq;
import com.mf.entity.req.search.TaskSearchReq;

import java.util.List;

/**
* 任务表 服务类
*
* @author mf
* @since 2025-03-08
*/
    public interface ITaskService extends IService<TaskBo> {
    /**
     * 删除任务
     */
    Integer deleteById(int id);

    /**
     * 作废任务
     */
    Integer cancellation(int id);
    /**
     * 修改任务状态
     */
    Integer updateStatusByIds(PublicUpdateStatusReq<Integer> publicUpdateStatusRequest);

    /**
     * 查询任务
     */
    Page<TaskBo> findPageList(TaskSearchReq taskSearchReq);

    /**
     * 根据pid查询子任务
     */
    List<TaskBo> findByPidList(TaskSearchReq taskSearchReq);


    /**
     * 验证任务状态是否可操作
     */
    void verifyTaskStatus(int id);

    /**
     * 新增任务
     */
    Integer saveTask(TaskBo taskBo);

    /**
     * 编辑任务
     */
    Integer updateTaskById(TaskBo taskBo);
}
